package com.stylefeng.guns.common.persistence.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.common.persistence.model.Area;
import com.stylefeng.guns.core.node.ZTreeNode;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 省市及手续费配置表 Mapper 接口
 * </p>
 *
 * @author stylefeng123
 * @since 2018-01-20
 */
public interface AreaMapper extends BaseMapper<Area> {

    /**
     * 查询区域 省/市
     * @return
     */
    List<Map<String,Object>> selectArea(@Param("pcode") String pcode);



    /**
     * 获取ztree添加站内信的节点列表
     *
     * @return
     * @date 2017年2月17日 下午8:28:43
     */
    List<ZTreeNode> tree();

    /**
     * 获取ztree添加区域类的节点列表
     *
     * @return
     * @date 2017年2月17日 下午8:28:43
     */
    List<ZTreeNode> areatree();

    /**
     * 查询地区设置分页
     */
    List<Map<String,Object>> selectPage (@Param("page") Page<Area> page,@Param("condition") String condition);


    /**
     * 查询省通过准确查询
     */

    Area selectName(@Param("name") String name);

    /**
     * 通过pcode查询市
     */
    List<Map<String,Object>> selectSQ(@Param("page") Page<Area> page, @Param("pcode")String pcode, @Param("name") String name);


    /**
     * 前端查询省市联动
     */
    List<Area> selectProCity(@Param("pcode")String pcode);

    /**
     * 通过code显示省市
     * @param code
     * @return
     */
    Area selectByCode(@Param("code")String code);

    /**
     * 添加时，查询负类省code
     * @param pcodename
     * @return
     */
    List<Area> selectPcode(@Param("pcodename") String pcodename);

    /**
     * 查询所有的数据
     * @return
     */
    List<Area> selectAll();
}
